package net.wanho.service;

import com.baomidou.mybatisplus.extension.service.IService;
import net.wanho.dto.*;
import net.wanho.po.UserInfo;
import net.wanho.vo.PageInfo;
import net.wanho.vo.QueryAuthListVo;
import net.wanho.vo.QueryUserListVo;
import net.wanho.vo.queryRoleByIdVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
* @author BGAll
* @description 针对表【user_info(用户表)】的数据库操作Service
* @createDate 2025-07-22 19:11:14
*/
public interface UserInfoService extends IService<UserInfo> {

    List<QueryAuthListVo> queryAuthList();

    PageInfo<QueryUserListVo> queryPage(QueryUserListDto queryUserListDto, int pageNum, int pageSize);

    void saveUser(AddUserDto addUserDto);

    void modifyById(modifyUserDto modifyUserDto);

    void removeUserById(Integer id);

    void removeUserByIds(Integer[] ids);

    void updatePwd(Integer id);

    List<queryRoleByIdVo> queryRoleById(Integer id);

    List<Integer> queryAuthIds(Integer userId);

    List<QueryUserListVo> exportTable(QueryUserListDto queryUserListDto, Integer pageNum, Integer pageSize, HttpServletResponse response);

    void modifyPwd(ModifyPwdDto modifyPwdDto);

    void modifySelf(ModifySelfDto modifySelfDto);

    String modifyAvatar(Integer id, MultipartFile file);
}
